{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# About the course" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This course was originally written by [Thomas Robitaille](http://www2.mpia-hd.mpg.de/~robitaille/PY4SCI_SS_2015/), and was carefully adapted by Markus Demleitner and Robert Schmidt.\n", "\n", "**The course is accessible through the KIP Jupyter Notebook pool\n", "[https://jupyter.kip.uni-heidelberg.de/].**\n", "\n", "The lecturer is Yiannis Tsapras.\n", "You can contact me during the course and at [ytsapras@ari.uni-heidelberg.de](mailto:ytsapras@ari.uni-heidelberg.de)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Topics\n", "------\n", "\n", "- Using the Jupyter Notebook\n", "- Introduction to Python\n", "- Modules and Functions\n", "- Introduction to Numpy and Matplotlib\n", "- Reading/writing data from files\n", "- Introduction to Scipy (interpolation, integration, fitting)\n", "- Applying Python to scientific problems\n", "- Object-oriented programming (*if there is time*)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Structure\n", "---------\n", "\n", "The block course lasts five days, and each day will follow this schedule:\n", "\n", "* 9:00-10:30 - lecture/exercises\n", "* 10:30-11:00 - break\n", "* 11:00-12:30 - lecture/exercises\n", "* 12:30-13:30 - break for lunch\n", "* 13:30-14:30 - lecture/exercises\n", "* 14:30-17:00 - computer pool available to finish homework\n", "\n", "The lectures will be mixed with exercise sessions - from time to time I will give you 5 or 10 minutes to complete a given task/exercise. There will be **problem sets** during the week, and you will be required to hand these in a deadline indicated on the problem sheet. **An average of 60% in the problem sets will be required to obtain 2 credits points at the end of the course.**\n", "\n", "The course will be in English." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "I am happy to review or talk about your code/solutions to exercises." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Solutions to problem sheets\n", "---------------------------" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "All solutions should be submitted as Jupyter notebooks (.ipynb) or python programs (.py) (one notebook/program per problem set). Please use a filename that contains the name of the problem sheet and your name. (e.g. `problem_sheet_1_yiannis_tsapras.ipynb` ).\n", "\n", "The files can be submitted to me directly via email: [ytsapras@ari.uni-heidelberg.de](mailto:ytsapras@ari.uni-heidelberg.de). Please use an appropriate subject heading such as `Python course: Problem Sheet 1 submission`." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The following criteria are taken into account for grading problem sets - the notebook/program should:\n", "\n", "- run with no errors *under python3*\n", "- produce the correct results\n", "- be clearly readable, and include text to explain what you are doing and why\n", "- not include any unused code! (-> readability)\n", "- be well presented\n", "\n", "Please make use of the ability to add comments and text around your code. Make it so that someone not familiar with the problem could read it and understand your solution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**There is never a unique solution to a problem**, so it does not matter if your programs do not look the same as somebody else's! What matters most is that you get a chance to make mistakes and learn from them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Policy on handing in solutions\n", "------------------------------\n", "\n", "**Problem set submissions need to be handed in separately for each participant.**\n", "\n", "The deadlines for the Problem Sets are:\n", "\n", "Problem Set 1 This Wednesday, 7pm CEST\n", "\n", "Problem Set 2 This Friday, 7pm CEST\n", "\n", "Problem Set 3 Next Friday (one week after the end of the course), 7pm CEST\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Laptops\n", "-------\n", "\n", "If you would like to use Python on your laptop, you have several possibilities:\n", "\n", "- If you have a linux laptop and are familiar with package managers, most major scientific Python packages are available through these\n", "- Otherwise, try and install the [Anaconda Python distribution](http://continuum.io/downloads.html)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Getting set up" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lecture Notes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this course you will only ever need your Juputer notebooks. You can make copies, rename them, and edit them as you go along. No additional material will be provided, although you are encouraged to visit some of the following links after the end of the course if you are curious and want to learn about more complicated topics: \n", "\n", "-The Scipy Lecture Notes at http://scipy-lectures.org/\n", "\n", "-[Matplotlib and Numpy video tutorial](https://www.youtube.com/watch?v=gtejJ3RCddE)\n", "\n", "-[Integration, Interpolation and Curve fitting video tutorial](https://www.youtube.com/watch?v=970im6yAmhE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### CIP Pool" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before you can run Python in the ways described on this page, you will need to start up a command-line Terminal application. In the CIP pool this is located in the Anwendungen -> Zubehör -> Terminal menu.\n", "\n", "To ensure a common environment, in the CIP pool we'll be using an updated version of ipython over what is installed on the machines themselves. \n", "\n", "The easiest way is to use the environment already set up for you in [https://jupyter.kip.uni-heidelberg.de/](https://jupyter.kip.uni-heidelberg.de/).\n", "\n", "An alternative involves manipulating your path and referencing your local Anaconda install (not recommended). Here is one way to do that:\n", "\n", " echo \"export PATH=/local/py4sci/anaconda3/bin:$PATH\" >> ~/.bashrc\n", " exec bash\n", "\n", "You only need to do that once.\n", "\n", "Then fetch the notebooks and execute the notebook player (optionally in a subdirectory):\n", "\n", " jupyter notebook\n", " (older versions might require you to run ipython notebook instead)\n", "\n", "A web browser should open and you should be ready to go.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 1 }